package com.example.yin.service;

import org.springframework.data.util.Pair;

import java.util.List;
import java.util.Map;
import java.util.Set;


public interface SongSimilarityCalculatorService {

    public void calculateAndStoreSimilarities() ;

    public Map<Integer, Set<Integer>> getSongTags();

    public Map<Pair<Integer, Integer>, Double> calculateSimilarities(Map<Integer, Set<Integer>> songTags);

    public double cosineSimilarity(Set<Integer> tags1, Set<Integer> tags2);

    public void storeSimilarities(Map<Pair<Integer, Integer>, Double> similarities);

    public void start();

    public void caculateSingle(Integer songId, List<Integer> tags);




}
